/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package INTERFAZ;

import CONTROLES.ControlEmpleado;
import CONTROLES.ControlEntidad;
import CONTROLES.ControlSucursal;
import MODELOS.Empleado;
import MODELOS.EntidadFinanciera;
import UTILITARIOS.StringToDate;
import UTILITARIOS.UTextField;
import java.awt.Choice;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.StringTokenizer;
import javax.swing.*;
import javax.swing.border.TitledBorder;



/**
 *
 * @author Administrador
 */
public class RegistroEntidad extends JDialog implements Propiedades {

     
    private JLabel lblTitulo;
   
    private JPanel formulario;
    private JPanel botones;

    private JLabel lblNombreEntidad;
    private UTextField txtNombreEntidad;

    private JLabel lblDescripcion;
    private JTextArea txtDescripcion;

    private JLabel lblSucursal;
    private Choice sucursal;

    


    private JButton btnAceptar;
    private JButton btnCancelar;
    

   


   

    ControlSucursal control = new ControlSucursal();
    String lista[] = control.nombresSuc();

    public RegistroEntidad()
    {

        setAlwaysOnTop(true);
        setProperties();
        buildComponents();
        setPropertiesComponents();
        addComponents();
        addEvents();

    }






    public void setProperties() {
        
	setSize(500, 280);
        setLayout(new FlowLayout());
        Image icon = new ImageIcon(getClass().getResource("/imagenes/nfn.png")).getImage();
        setIconImage(icon);
        setTitle("Entidad Financiera");
	setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
	
       
	setResizable(true);

    }

    public void buildComponents() {

        lblTitulo = new JLabel(new ImageIcon(".\\src\\imagenes\\nfn.png"));

        lblSucursal = new JLabel("Sucursal :", JLabel.RIGHT);
        sucursal = new Choice();

        for(int i=0; i<lista.length; i++){
          System.out.println("lista con tamano ="+lista[i]);
        sucursal.add(lista[i].toString());
        }
        setSucursal(Bienvenida.sucursal.getIdSucursal()+"-"+Bienvenida.sucursal.getNombreSuc());

        lblNombreEntidad = new JLabel("Nombre Entidad: ", JLabel.RIGHT );
        txtNombreEntidad = new UTextField(UTextField.ONLY_CARACTERS_VALUE);

        lblDescripcion = new JLabel("Descripción : ", JLabel.RIGHT );
        txtDescripcion = new JTextArea(4, 6);

        
        formulario = new JPanel();
        botones = new JPanel();

        btnAceptar = new JButton("GUARDAR");
        btnCancelar = new JButton("CANCELAR");
       
    }

    public void setPropertiesComponents() {
        
        
        //titulo.setBackground(Color.DARK_GRAY);
        formulario.setBorder(BorderFactory.createTitledBorder(null,"Información",TitledBorder.CENTER , TitledBorder.DEFAULT_POSITION));
        //titulo.setLayout(new FlowLayout());

        formulario.setLayout(new FlowLayout());
        formulario.setPreferredSize(new Dimension(480,160));
        //formulario.setBackground(Color.WHITE);
       botones.setPreferredSize(new Dimension(480, 60));
       //botones.setBackground(Color.WHITE);

        //titulo.setBorder(Herramienta.createTitleBorder("Registro de Usuarios"));
        
        botones.setBorder(BorderFactory.createTitledBorder(null,"ACCIONES",TitledBorder.CENTER , TitledBorder.DEFAULT_POSITION));

        Dimension dimLabel = new Dimension(120,20);
	Dimension dimText = new Dimension(290,20);
	Font fontLabel = new Font("Tahoma",Font.PLAIN,11);

                //control.getUltimoIdUsuario()
                lblSucursal.setPreferredSize(dimLabel);
                lblSucursal.setFont(fontLabel);
                lblSucursal.setForeground(Color.BLACK);
                sucursal.setPreferredSize(dimText);
                if(Bienvenida.user.getTipoUsuario().equalsIgnoreCase("ADMINISTRADOR") && Bienvenida.user.getToken().equalsIgnoreCase("INGRESAR") ){
                   sucursal.setEnabled(true);
                   }else{
                   sucursal.setEnabled(false);
                   }

                lblNombreEntidad.setPreferredSize( dimLabel );
		lblNombreEntidad.setFont(fontLabel);
                lblNombreEntidad.setForeground(Color.BLACK);
		txtNombreEntidad.setPreferredSize( dimText );
                

                lblDescripcion.setPreferredSize( dimLabel );
		lblDescripcion.setFont(fontLabel);
                lblDescripcion.setForeground(Color.BLACK);
		txtDescripcion.setPreferredSize( dimText );
                

  
               
		
		//botones.setPreferredSize( new Dimension(250,25) );
		btnAceptar.setPreferredSize(new Dimension(110,20));
		btnCancelar.setPreferredSize(new Dimension(110,20));
              

		botones.setOpaque(false);

		btnAceptar.setToolTipText("guardar el empleo");
                btnAceptar.setForeground(Color.BLACK);
		btnCancelar.setToolTipText("Cancelar la operación");
                btnCancelar.setForeground(Color.BLACK);
               

		btnAceptar.setMnemonic('a');
		btnCancelar.setMnemonic('c');
               
    }




    public void addComponents() {

        formulario.add(lblSucursal);
        formulario.add(sucursal);

        formulario.add(lblNombreEntidad);
        formulario.add(txtNombreEntidad);

        formulario.add(lblDescripcion);
        formulario.add(txtDescripcion);

      

        botones.add(btnAceptar);
        botones.add(btnCancelar);
      

       
        
        add(formulario);
        add(botones);
       


    }

    public void addEvents() {
       btnAceptar.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {

                            ControlEntidad control = new ControlEntidad();
                            EntidadFinanciera ent = new EntidadFinanciera();

                            String idSuc = getSucursal();
                            StringTokenizer i = new StringTokenizer(idSuc,"-");
                            int idSucursal = Integer.parseInt(i.nextToken());
                            

                            if(getSucursal().isEmpty() || gettxtDescripcion().isEmpty() || gettxtNombreEntidad().isEmpty())
                            {
                                setVisible(false);
                                JOptionPane.showMessageDialog(null, "Se produjo un error al tratar de registrar la Entidad Financiera o faltan campos por llenar", "Confirmación", JOptionPane.YES_OPTION);
                                setVisible(true);
                            }else{
                            ent.setIdSucur(idSucursal);
                            ent.setNombreEnt(gettxtNombreEntidad());
                            ent.setDesc_Ent(gettxtDescripcion());
                            
                           
                          
                            control.guardarEntidad(ent);
                            dispose();
                            JOptionPane.showMessageDialog(null, "La Entidad Financiera ha sido Registrado CORRECTAMENTE ", "Confirmación", JOptionPane.INFORMATION_MESSAGE);
                            settxtDescripcion("");
                            settxtNombreEntidad("");
                            setVisible(true);
                            }
                            
			}
		});
                 btnCancelar.addActionListener( new ActionListener(){
			public void actionPerformed(ActionEvent e) {
				//JOptionPane.showMessageDialog(null, "Gracias por utilizar el sistema ", "Adventencia", JOptionPane.OK_OPTION);
                                //System.exit(0);
                                dispose();
			}
		});

                

               addWindowListener( new WindowAdapter(){
			@Override
			public void windowClosing(WindowEvent e) {
				//JOptionPane.showMessageDialog(null, "Seguro que quiere salir", "Adventencia", JOptionPane.OK_OPTION);
                                //System.exit(0);
                            dispose();
                        }
		});

         }

   


   


    public String gettxtDescripcion() {
        return txtDescripcion.getText();
    }

    public void settxtDescripcion(String txtDescripcion) {
        this.txtDescripcion.setText(txtDescripcion);
    }

   

    public String gettxtNombreEntidad() {
        return txtNombreEntidad.getText();
    }

    public void settxtNombreEntidad(String txtNombreEntidad) {
        this.txtNombreEntidad.setText(txtNombreEntidad);
    }


    public String getSucursal() {
        return sucursal.getSelectedItem();
    }

    public void setSucursal(String sucursal) {
        this.sucursal.select(sucursal);
    }

    

    



    public static void main(String[] args) {
        RegistroEntidad emp = new RegistroEntidad();
       // emp.setSucursal(2);
        emp.setVisible(true);
    }

   
}
